<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<script type="text/javascript">
		//先定义一个promise对象
		function testPromise(n) {
			return new Promise((resolve, reject) => {
				resolve(n)
			})
		}

		// async当中的await其实等的就是一个promise对象
		async function testAsync(n) {
			await testPromise(2).then((res) => {
				console.log(res)
			})
		}
		// 执行一个setTimeout函数
		function testTime() {
			setTimeout(function() { console.log(3)}, 0)
		}

		// 先执行promise对象，再执行async对象，最后执行setTimeout
		testPromise(1).then((res) => {
			console.log(res)
		})
		testAsync(2)
		testTime()
		// 按先后顺序输出的是 1、2、3
	</script>
</body>
</html>